import SM_BloodLust from 'code/Scripts/Abilities/ClassAbility/Shaman/SM_BloodLust';
import ClassAbilityManagerBase from './base/ClassAbilityManagerBase';
import SM_EarthShield from 'code/Scripts/Abilities/ClassAbility/Shaman/SM_EarthShield';
import SM_ElementalFirst from 'code/Scripts/Abilities/ClassAbility/Shaman/SM_ElementalFirst';
import SM_FireSnakeToten from 'code/Scripts/Abilities/ClassAbility/Shaman/SM_FireSnakeToten';
import SM_HealWave from 'code/Scripts/Abilities/ClassAbility/Shaman/SM_HealWave';
import SM_Lightings from 'code/Scripts/Abilities/ClassAbility/Shaman/SM_Lightings';
import SM_TogatherToten from 'code/Scripts/Abilities/ClassAbility/Shaman/SM_TogatherToten';
import SM_WindyWeapon from 'code/Scripts/Abilities/ClassAbility/Shaman/SM_WindyWeapon';

declare global {
    var SMAbilities: ShamanAbilityManager;
}

export default class ShamanAbilityManager extends ClassAbilityManagerBase {
    SM_BloodLust: SM_BloodLust;
    SM_EarthShield: SM_EarthShield;
    SM_ElementalFirst: SM_ElementalFirst;
    SM_FireSnakeToten: SM_FireSnakeToten;
    SM_HealWave: SM_HealWave;
    SM_Lightings: SM_Lightings;
    SM_TogatherToten: SM_TogatherToten;
    SM_WindyWeapon: SM_WindyWeapon;
    constructor() {
        super();
        SMAbilities = this;

        this.SM_BloodLust = new SM_BloodLust();
        this._abilities.set(this.SM_BloodLust.id, this.SM_BloodLust);

        this.SM_EarthShield = new SM_EarthShield();
        this._abilities.set(this.SM_EarthShield.id, this.SM_EarthShield);

        this.SM_ElementalFirst = new SM_ElementalFirst();
        this._abilities.set(this.SM_ElementalFirst.id, this.SM_ElementalFirst);

        this.SM_FireSnakeToten = new SM_FireSnakeToten();
        this._abilities.set(this.SM_FireSnakeToten.id, this.SM_FireSnakeToten);

        this.SM_HealWave = new SM_HealWave();
        this._abilities.set(this.SM_HealWave.id, this.SM_HealWave);

        this.SM_Lightings = new SM_Lightings();
        this._abilities.set(this.SM_Lightings.id, this.SM_Lightings);

        this.SM_TogatherToten = new SM_TogatherToten();
        this._abilities.set(this.SM_TogatherToten.id, this.SM_TogatherToten);

        this.SM_WindyWeapon = new SM_WindyWeapon();
        this._abilities.set(this.SM_WindyWeapon.id, this.SM_WindyWeapon);
    }
}
